-- XSD schema extracted from ITU-T Z.166 (03/2011)
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://uri.etsi.org/ttcn3/tci/Values_v4_2_1.xsd"
xmlns:Values="http://uri.etsi.org/ttcn3/tci/Values_v4_2_1.xsd"
xmlns:Templates="http://uri.etsi.org/ttcn3/tci/Templates_v4_2_1.xsd"
xmlns:SimpleTypes="http://uri.etsi.org/ttcn3/tci/SimpleTypes_v4_2_1.xsd" elementFormDefault="qualified">
<xsd:import namespace="http://uri.etsi.org/ttcn3/tci/Templates_v4_2_1.xsd"
schemaLocation="Templates_v4_2_1.xsd"/>
<xsd:import namespace="http://uri.etsi.org/ttcn3/tci/SimpleTypes_v4_2_1.xsd"
schemaLocation="SimpleTypes_v4_2_1.xsd"/>
<xsd:attributeGroup name="ValueAtts">
<xsd:attribute name="name" type="SimpleTypes:TString" use="optional"/>
<xsd:attribute name="type" type="SimpleTypes:TString" use="optional"/>
<xsd:attribute name="module" type="SimpleTypes:TString" use="optional"/>
<xsd:attribute name="annotation" type="SimpleTypes:TString" use="optional"/>
</xsd:attributeGroup>
<xsd:complexType name="Value" mixed="true">
<xsd:choice>
<xsd:element name="integer" type="Values:IntegerValue"/>
<xsd:element name="float" type="Values:FloatValue"/>
<xsd:element name="boolean" type="Values:BooleanValue"/>
<xsd:element name="verdicttype" type="Values:VerdictValue"/>
<xsd:element name="bitstring" type="Values:BitstringValue"/>
<xsd:element name="hexstring" type="Values:HexstringValue"/>
<xsd:element name="octetstring" type="Values:OctetstringValue"/>
<xsd:element name="charstring" type="Values:CharstringValue"/>
<xsd:element name="universal_charstring" type="Values:UniversalCharstringValue"/>
<xsd:element name="record" type="Values:RecordValue"/>
<xsd:element name="record_of" type="Values:RecordOfValue"/>
<xsd:element name="array" type="Values:ArrayValue"/>
<xsd:element name="set" type="Values:SetValue"/>
<xsd:element name="set_of" type="Values:SetOfValue"/>
<xsd:element name="enumerated" type="Values:EnumeratedValue"/>
<xsd:element name="union" type="Values:UnionValue"/>
<xsd:element name="anytype" type="Values:AnytypeValue"/>
<xsd:element name="address" type="Values:AddressValue"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<!--general event elements -->
<xsd:complexType name="IntegerValue">
<xsd:choice>
<xsd:element name="value" type="SimpleTypes:TString"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="FloatValue">
<xsd:choice>
<xsd:element name="value" type="SimpleTypes:TString"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="BooleanValue">
<xsd:choice>
<xsd:element name="value" type="SimpleTypes:TString"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="VerdictValue">
<xsd:choice>
<xsd:element name="value" type="SimpleTypes:TString"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="BitstringValue">
<xsd:choice>
<xsd:element name="value" type="SimpleTypes:TString"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="HexstringValue">
<xsd:choice>
<xsd:element name="value" type="SimpleTypes:TString"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="OctetstringValue">
<xsd:choice>
<xsd:element name="value" type="SimpleTypes:TString"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="CharstringValue">
<xsd:choice>
<xsd:element name="value" type="SimpleTypes:TString"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="UniversalCharstringValue">
<xsd:choice>
<xsd:element name="value" type="SimpleTypes:TString"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="RecordValue">
<xsd:choice>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="integer" type="Values:IntegerValue"/>
<xsd:element name="float" type="Values:FloatValue"/>
<xsd:element name="boolean" type="Values:BooleanValue"/>
<xsd:element name="verdicttype" type="Values:VerdictValue"/>
<xsd:element name="bitstring" type="Values:BitstringValue"/>
<xsd:element name="hexstring" type="Values:HexstringValue"/>
<xsd:element name="octetstring" type="Values:OctetstringValue"/>
<xsd:element name="charstring" type="Values:CharstringValue"/>
<xsd:element name="universal_charstring"
type="Values:UniversalCharstringValue"/>
<xsd:element name="record" type="Values:RecordValue"/>
<xsd:element name="record_of" type="Values:RecordOfValue"/>
<xsd:element name="array" type="Values:ArrayValue"/>
<xsd:element name="set" type="Values:SetValue"/>
<xsd:element name="set_of" type="Values:SetOfValue"/>
<xsd:element name="enumerated" type="Values:EnumeratedValue"/>
<xsd:element name="union" type="Values:UnionValue"/>
<xsd:element name="anytype" type="Values:AnytypeValue"/>
<xsd:element name="address" type="Values:AddressValue"/>
</xsd:choice>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="RecordOfValue">
<xsd:choice>
<xsd:element name="integer" type="Values:IntegerValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="float" type="Values:FloatValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="boolean" type="Values:BooleanValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="verdicttype" type="Values:VerdictValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="bitstring" type="Values:BitstringValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="hexstring" type="Values:HexstringValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="octetstring" type="Values:OctetstringValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="charstring" type="Values:CharstringValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="universal_charstring"
type="Values:UniversalCharstringValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="record" type="Values:RecordValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="record_of" type="Values:RecordOfValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="array" type="Values:ArrayValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="set" type="Values:SetValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="set_of" type="Values:SetOfValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="enumerated" type="Values:EnumeratedValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="union" type="Values:UnionValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="anytype" type="Values:AnytypeValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="address" type="Values:AddressValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="ArrayValue">
<xsd:choice>
<xsd:element name="integer" type="Values:IntegerValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="float" type="Values:FloatValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="boolean" type="Values:BooleanValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="verdicttype" type="Values:VerdictValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="bitstring" type="Values:BitstringValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="hexstring" type="Values:HexstringValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="octetstring" type="Values:OctetstringValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="charstring" type="Values:CharstringValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="universal_charstring"
type="Values:UniversalCharstringValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="record" type="Values:RecordValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="record_of" type="Values:RecordOfValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="array" type="Values:ArrayValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="set" type="Values:SetValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="set_of" type="Values:SetOfValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="enumerated" type="Values:EnumeratedValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="union" type="Values:UnionValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="anytype" type="Values:AnytypeValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="address" type="Values:AddressValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="SetValue">
<xsd:choice>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="integer" type="Values:IntegerValue"/>
<xsd:element name="float" type="Values:FloatValue"/>
<xsd:element name="boolean" type="Values:BooleanValue"/>
<xsd:element name="verdicttype" type="Values:VerdictValue"/>
<xsd:element name="bitstring" type="Values:BitstringValue"/>
<xsd:element name="hexstring" type="Values:HexstringValue"/>
<xsd:element name="octetstring" type="Values:OctetstringValue"/>
<xsd:element name="charstring" type="Values:CharstringValue"/>
<xsd:element name="universal_charstring"
type="Values:UniversalCharstringValue"/>
<xsd:element name="record" type="Values:RecordValue"/>
<xsd:element name="record_of" type="Values:RecordOfValue"/>
<xsd:element name="array" type="Values:ArrayValue"/>
<xsd:element name="set" type="Values:SetValue"/>
<xsd:element name="set_of" type="Values:SetOfValue"/>
<xsd:element name="enumerated" type="Values:EnumeratedValue"/>
<xsd:element name="union" type="Values:UnionValue"/>
<xsd:element name="anytype" type="Values:AnytypeValue"/>
<xsd:element name="address" type="Values:AddressValue"/>
</xsd:choice>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="SetOfValue">
<xsd:choice>
<xsd:element name="integer" type="Values:IntegerValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="float" type="Values:FloatValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="boolean" type="Values:BooleanValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="verdicttype" type="Values:VerdictValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="bitstring" type="Values:BitstringValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="hexstring" type="Values:HexstringValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="octetstring" type="Values:OctetstringValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="charstring" type="Values:CharstringValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="universal_charstring"
type="Values:UniversalCharstringValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="record" type="Values:RecordValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="record_of" type="Values:RecordOfValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="array" type="Values:ArrayValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="set" type="Values:SetValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="set_of" type="Values:SetOfValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="enumerated" type="Values:EnumeratedValue"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="union" type="Values:UnionValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="anytype" type="Values:AnytypeValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="address" type="Values:AddressValue" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="EnumeratedValue">
<xsd:choice>
<xsd:element name="value" type="SimpleTypes:TString"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="UnionValue">
<xsd:choice>
<xsd:element name="integer" type="Values:IntegerValue"/>
<xsd:element name="float" type="Values:FloatValue"/>
<xsd:element name="boolean" type="Values:BooleanValue"/>
<xsd:element name="verdicttype" type="Values:VerdictValue"/>
<xsd:element name="bitstring" type="Values:BitstringValue"/>
<xsd:element name="hexstring" type="Values:HexstringValue"/>
<xsd:element name="octetstring" type="Values:OctetstringValue"/>
<xsd:element name="charstring" type="Values:CharstringValue"/>
<xsd:element name="universal_charstring"
type="Values:UniversalCharstringValue"/>
<xsd:element name="record" type="Values:RecordValue"/>
<xsd:element name="record_of" type="Values:RecordOfValue"/>
<xsd:element name="array" type="Values:ArrayValue"/>
<xsd:element name="set" type="Values:SetValue"/>
<xsd:element name="set_of" type="Values:SetOfValue"/>
<xsd:element name="enumerated" type="Values:EnumeratedValue"/>
<xsd:element name="union" type="Values:UnionValue"/>
<xsd:element name="anytype" type="Values:AnytypeValue"/>
<xsd:element name="address" type="Values:AddressValue"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="AnytypeValue">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="integer" type="Values:IntegerValue"/>
<xsd:element name="float" type="Values:FloatValue"/>
<xsd:element name="boolean" type="Values:BooleanValue"/>
<xsd:element name="verdicttype" type="Values:VerdictValue"/>
<xsd:element name="bitstring" type="Values:BitstringValue"/>
<xsd:element name="hexstring" type="Values:HexstringValue"/>
<xsd:element name="octetstring" type="Values:OctetstringValue"/>
<xsd:element name="charstring" type="Values:OctetstringValue"/>
<xsd:element name="universal_charstring"
type="Values:UniversalCharstringValue"/>
<xsd:element name="record" type="Values:RecordValue"/>
<xsd:element name="record_of" type="Values:RecordOfValue"/>
<xsd:element name="array" type="Values:ArrayValue"/>
<xsd:element name="set" type="Values:SetValue"/>
<xsd:element name="set_of" type="Values:SetOfValue"/>
<xsd:element name="enumerated" type="Values:EnumeratedValue"/>
<xsd:element name="union" type="Values:UnionValue"/>
<xsd:element name="address" type="Values:AddressValue"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
<xsd:complexType name="AddressValue">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="integer" type="Values:IntegerValue"/>
<xsd:element name="float" type="Values:FloatValue"/>
<xsd:element name="boolean" type="Values:BooleanValue"/>
<xsd:element name="verdicttype" type="Values:VerdictValue"/>
<xsd:element name="bitstring" type="Values:BitstringValue"/>
<xsd:element name="hexstring" type="Values:HexstringValue"/>
<xsd:element name="octetstring" type="Values:OctetstringValue"/>
<xsd:element name="charstring" type="Values:OctetstringValue"/>
<xsd:element name="universal_charstring"
type="Values:UniversalCharstringValue"/>
<xsd:element name="record" type="Values:RecordValue"/>
<xsd:element name="record_of" type="Values:RecordOfValue"/>
<xsd:element name="array" type="Values:ArrayValue"/>
<xsd:element name="set" type="Values:SetValue"/>
<xsd:element name="set_of" type="Values:SetOfValue"/>
<xsd:element name="enumerated" type="Values:EnumeratedValue"/>
<xsd:element name="union" type="Values:UnionValue"/>
<xsd:element name="anytype" type="Values:AnytypeValue"/>
<xsd:element name="null" type="Templates:null"/>
<xsd:element name="omit" type="Templates:omit"/>
</xsd:choice>
<xsd:attributeGroup ref="Values:ValueAtts"/>
</xsd:complexType>
</xsd:schema>